home *** CD-ROM | disk | FTP | other *** search
/ Guide To Cracking 2002 / Guide_to_Cracking_2002.iso / Tutorials / Nag and Time Trial / nag / ns41.txt < prev    next >
Encoding:
Text File  |  2001-02-03  |  1.8 KB  |  39 lines

  1.  
  2.                Cracking for newbies #1 - done by woody^drn
  3.  
  4. In Vaczine #3 I talked about nags and splash screens, this is just to
  5. complete the tutorial.
  6.  
  7. How do we know what to break on in softice? is it a messagebox or
  8. a dialogbox .. or something else? Take a look at the style of the nag
  9. sceen, is the close button in the top right disabled ? then it's
  10. probably a messagebox, if not it's a dialogbox. We can also check the
  11. buttons that are on the nag screen, does it have yes, no, ok or cancel?
  12. probably a messagebox then, if not ... messageboxes have icons on them
  13. too, ( ! )  / ! \, it's the standard icons for windows.
  14. The break for a messagebox in softice is "bpx messageboxa" if it's a
  15. 32bit program, if not remove the a "bpx messagebox". For a dialogbox
  16. "bpx dialogboxparama" or just use the normal "bpx getwindowtexta" or
  17. "bpx getdlgitemtexta".
  18.  
  19. Messageboxes waits for you to push a button, when you do it will use
  20. goto the nearst ret (return) command. What you can do here is, to find
  21. the place where it called or jne/je (jumped) to this location, just
  22. nop the je/jne or patch that byte with C3 (ret), so it thinks that you
  23. pressed the button.
  24.  
  25. But there's several types of nag screens, not just messageboxes or
  26. dialogboxes, but also splash screens that uses pictures instead of
  27. normal text. Here we have to break on "bpx loadbitmapa", now softice
  28. will break when it's ready to display the image/splash screen.
  29. One thing that comes with splash screens is a timer. If the author wants
  30. his splash screen to show for 10 seconds. That command is SetTimer.
  31.  
  32. What we should do here is find the loadbitmapa and find the push nearest
  33. that. The opposite of SetTimer is KillTimer, find the killtimer and
  34. patch the push to a jmp, so it jumps direcly to the killtimer command.
  35. This defeats most splash screens.
  36.  
  37. -wOODY^dRN
  38.  
  39.